草庐IT

CountDownLatch和ExecutorService 线程池cachedThreadPool.submit

全部标签

java - 从具有多个线程的 SQS 队列中读取

注意:这是来自here的帖子的转贴.大家好,我有一个处理单个SQS队列中的消息的进程。队列中可以有很多消息,每条消息都会导致数据库命中。因此,我想给这个队列的读者发帖。每个线程的基本代码是:publicvoidrun(){while(true){ReceiveMessageRequestrmr=newReceiveMessageRequest(queueUrl).withMaxNumberOfMessages(10).withWaitTimeSeconds(3);Listmessages=sqsClient.receiveMessage(rmr).getMessages();//pro

java - Solaris 上 Java 线程与 CPU 的最佳比例是多少?

我有一个Java应用程序,它有一个固定的15个线程池,这台机器,Solaris10SPARC,有16个CPU。添加池后性能大大提高,但我想知道是不是池中的线程太多了。线程越少性能越好,还是Solaris的线程调度做得很好。假设池大量使用15个CPU,然后其他应用程序线程出于各种原因需要CPU,并发垃圾收集就是一个很好的例子。现在,池和其他应用程序线程共享五个CPU。然后CPU1到7变为空闲,Solaris是否会将繁忙CPU上的线程共享时间转移到空闲CPU上?如果不是,将池大小保持较小是否更好,以便其他应用程序线程始终有可用的CPU?使问题更加复杂的是,应用程序中的CPU使用率非常零星。

等待锁定未(明显)锁定的对象的 Java 线程

通常当我请求线程转储时,系统性能不佳的症状很容易解释;也就是说,通常我会看到许多线程显然正在等待一个已被获取但未被另一个释放的监视器。在这种情况下,我有很多线程在等待监视器(0x965ad100),但似乎没有一个线程首先拥有该监视器。有问题的线程可以用这个签名来识别:waitingtolock(auk.gov.dti.og.fox.ConAgent)我试过用谷歌搜索这个,我似乎找到的都是讨论锁定监视器的帖子,没有关于等待未锁定监视器的帖子。完整的线程转储:http://www.basson.at/docs/stackoverflow/thread_dump.txt我希望这里有人可以解释

java - 在不阻塞 GUI 的情况下为多个线程使用多个进度条

我正在编写一个EclipseRCP应用程序,其中多个线程将通过GUI中各自的进度条向用户更新进度。有人告诉我,允许每个人单独更新自己的进度条可能会导致共享资源发生冲突(我想是进度条的父级之一,例如Shell)。这是真的吗?有人建议我创建一个带有同步方法的中间类,它将充当线程更新调用的序列化漏斗。这是一个解决方案吗?你能提供更好的解决方案吗? 最佳答案 其实很简单。每当您需要从任何线程更新进度条时,您都将更新代码包含在display.asyncExec(newRunnable(){....});

java - 我如何使用 Jython 线程,因为它们是 Java 线程?

例如,我想在Jython中重现此线程,因为我需要从JavaAPI启动我的状态机。我对Jython了解不多。我怎样才能做到这一点?Threadthread=newThread(){@Overridepublicvoidrun(){statemachine.enter();while(!isInterrupted()){statemachine.getInterfaceNew64().getVarMessage();statemachine.runCycle();try{Thread.sleep(100);}catch(InterruptedExceptione){interrupt();

java - 线程 "main"java.lang.NoSuchFieldError : DEF_CONTENT_CHARSET 中的异常

您好,我尝试从我的java应用程序中在solr中为我的数据库中的一行编制索引。我已经添加了必要的jar,但我一直收到这个错误。我的solr模式是正确的,我请求只向我的数据库添加新行,我希望它也被索引这里是错误SLF4J:Failedtoloadclass"org.slf4j.impl.StaticLoggerBinder".SLF4J:Defaultingtono-operation(NOP)loggerimplementationSLF4J:Seehttp://www.slf4j.org/codes.html#StaticLoggerBinderforfurtherdetails.E

java - 线程 "main"com.google.apphosting.api.ApiProxy$CallNotFoundException : The API package 'mail' or call 'Send()' was not found 中的异常

我编写了一个使用gmail发送邮件的程序,如果我单独执行它,它工作正常,但是当我与googleappengine集成时,它给我以下错误,Exceptioninthread"main"com.google.apphosting.api.ApiProxy$CallNotFoundException:TheAPIpackage'mail'orcall'Send()'wasnotfound.atcom.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:104)atcom.google.apphosting.api.ApiProx

java - (Java 7 NIO.2) 监视服务线程的自定义名称

在Java7中使用nio.2,当您创建这样的watch服务时:WatchServicewatcher=FileSystems.getDefault().newWatchService();然后,启动后台线程,在无限循环中轮询文件系统事件。此线程的名称是“Thread-n”,这在调查线程转储或分析session期间有点麻烦。我们可以更改该线程的名称吗? 最佳答案 直接看实现,好像不行。如果您不介意一些小技巧,您可以找到线程并重命名它。类似于(//TODO:进行错误检查)SetthreadsBefore=Thread.getAllSta

java - Oracle Java KeyStore 实现是线程安全的吗?

我希望实现一个使用客户端证书身份验证的多线程SSL客户端,因此我需要为SSLContext提供一个KeyStore。我需要在多个线程上执行此操作。使用KeyStore的一个实例是否安全?我不会自己修改keystore,而且我假设SSL实现也不需要,因此该对象应该是有效的不可变的。 最佳答案 一般来说,JCA服务不是线程安全的,KeyStoreSpi不会对实现者强加任何线程安全要求。但是,如果您的key存储实际上是不可变的,并且您确保其初始化状态对所有线程可见,就没有问题。例如,将KeyStore存储在volatile变量中,或从类初

java - SessionFactory.getCurrentSession() 线程安全吗?

通过SessionFactory.getCurrentSession()获取Hibernatesession是否线程安全?假设我有一个staticSessionFactory对象用于我的整个应用程序,并且我有5个并发请求正在向我的servlet发出。我的servlet为每个请求调用方法Auth.checkLogin(),然后Auth.checkLogin()依次通过静态factory.getCurrentSession获取session()。在对我的servlet的每个请求结束时,transaction.commit()将在之前获得的session上调用。我的问题是,这是线程安全的方法